草庐IT

Java for 循环性能

全部标签

c# - 使用 ParallelFor 循环时索引超出范围异常

这是一个非常奇怪的情况,首先是代码......编码privateListWorksheetToDataTableForInvoiceCTN(ExcelWorksheetexcelWorksheet,intmonth,intyear){inttotalRows=excelWorksheet.Dimension.End.Row;inttotalCols=excelWorksheet.Dimension.End.Column;DataTabledt=newDataTable(excelWorksheet.Name);//for(inti=1;i{DataRowdr=null;if(i>1){

c# - 在 C# 中的字符串列表中进行高性能 "contains"搜索

我有一份大约的list。500,000根琴弦,每根大约100个字符长。给定一个搜索词,我想识别列表中包含搜索词的所有字符串。目前,我正在使用Select方法(“MATCH%term%”)对一个普通的旧数据集执行此操作。这在我的笔记本电脑上大约需要600毫秒。我想让它更快,可能是100-200毫秒。推荐的方法是什么?性能至关重要,因此我可以在必要时(在合理范围内)以内存占用换取更好的性能。字符串列表一旦初始化就不会改变,因此计算哈希值也是一种选择。有没有人有推荐,哪种C#数据结构最适合该任务? 最佳答案 我听说过关于Lucene.NE

c# - 是否可以使用循环引用执行序列化?

因此,我的实体类(用C#编写)遵循父子模型,其中每个子对象都必须有一个Parent属性,在该属性中它保留对其父对象的引用。由于循环引用,此Parent属性会导致对象序列化出现问题。我无法删除对父级的引用,也无法将其标记为XmlIgnore(因为我需要在反序列化XML时读回它)对此有什么想法吗? 最佳答案 XML序列化不支持循环引用,您需要使用XmlIgnore属性从序列化中排除父属性。参见thisblogpost一种在反序列化时维持关系的方法。或者,您可以使用DataContractSerializer而不是XmlSerialize

c# - async 和 await 是否会提高 ASP.Net 应用程序的性能

我最近读了一篇关于c#-5和新的很好的异步编程特性的文章。我看到它在Windows应用程序中效果很好。我的问题是此功能是否可以提高ASP.Net性能?考虑这两个伪代码:publicTGetData(){vard=GetSomeData();returnd;}和publicasyncTGetData2(){vard=awaitGetSomeData();returnd;}在一个ASP.Net应用程序中,两个代码有区别吗?谢谢 最佳答案 首先,您的第二段代码将返回Task而不是T.最终的答案是“视情况而定”。如果您的页面需要访问多个数据

c# - 通过接口(interface)枚举 - 性能损失

我和我的同事有一点争执(这非常接近圣战:)),关于通过枚举器通过索引VS访问列表的性能。为了处理一些事实,我编写了以下测试:staticvoidMain(string[]args){constintcount=10000000;varstopwatch=newStopwatch();varlist=newList(count);varrnd=newRandom();for(inti=0;i实际上,它只是访问元素。如我所料,索引访问速度更快。这是在我的机器上发布构建的结果:0.0347//indexaccess0.0737//enumerating但是,我决定稍微改变一下测试://the

c# - 什么时候使用 C# 结构(值类型)会牺牲性能?

我一直在玩弄结构作为隐式验证复杂值对象的机制,以及围绕更复杂类的通用结构以确保有效值。我对性能后果有点无知,所以我希望大家能帮助我。例如,如果我要执行类似将域对象注入(inject)值类型包装器之类的操作,这会导致问题吗?为什么?我理解值类型和引用类型之间的区别,我的目标是利用值类型的不同行为。为了负责任地做到这一点,我到底需要研究什么?这是我正在考虑的事情的一个非常基本的想法。publicstructNeverNullwhereT:class,new(){privateNeverNull(Treference){_reference=reference;}privateT_refer

c# - OrderBy/ThenBy 循环 - C# 中的嵌套列表

我有一个嵌套列表,List>intable;我想对所有列进行排序的位置。问题是列数取决于用户输入。像这样对列表进行排序效果很好(假设此示例有4列)vartmp=intable.OrderBy(x=>x[0]);tmp=tmp.ThenBy(x=>x[1]);tmp=tmp.ThenBy(x=>x[2]);tmp=tmp.ThenBy(x=>x[3]);intable=tmp.ToList();但是,当我把它放在一个循环中时,像这样:vartmp=intable.OrderBy(x=>x[0]);for(inti=1;ix[i]);}intable=tmp.ToList();它不再正常工

c# parallel foreach 循环查找索引

我正在尝试读取文本文件中的所有行并计划显示每一行信息。如何找到循环内每个项目的索引?string[]lines=File.ReadAllLines("MyFile.txt");Listlist_lines=newList(lines);Parallel.ForEach(list_lines,(line,index)=>{Console.WriteLine(index);//Console.WriteLine(list_lines[index]);Console.WriteLine(list_lines[0]);});Console.ReadLine(); 最

c# - 我怎样才能使这个 C# 循环更快?

执行摘要:如果您想继续使用C#,Reed下面的回答是最快的。如果您愿意编码为C++(我就是),那是一个更快的解决方案。我在C#中有两个55mb的ushort数组。我使用以下循环组合它们:floatb=(float)number/100.0f;for(inti=0;i这段代码,根据前后添加DateTime.Now调用,运行需要3.5秒。我怎样才能让它更快?编辑:我认为这是一些代码,显示了问题的根源。当以下代码在全新的WPF应用程序中运行时,我得到了这些计时结果:Timeelapsed:00:00:00.4749156//arraysaddeddirectlyTimeelapsed:00:

c# - 使用 Automapper 导致堆栈溢出的循环引用

我正在使用Automapper将我的NHibernate代理对象(DTO)映射到我的CSLA业务对象我正在使用FluentNHibernate创建映射-这工作正常我遇到的问题是Order有一个OrderLines集合,其中每个都有一个对Order的引用。publicclassOrderMapping:ClassMap{publicOrderMapping(){//StandardpropertiesId(x=>x.OrderId);Map(x=>x.OrderDate);Map(x=>x.Address);HasMany(x=>x.OrderLines).KeyColumn("Orde